home *** CD-ROM | disk | FTP | other *** search
/ Aminet 15 / Aminet 15 - Nov 1996.iso / Aminet / util / boot / FastBlt.lha / FastWaitBlit.Doc < prev    next >
Encoding:
Text File  |  1996-09-21  |  5.7 KB  |  162 lines

  1.  
  2.            ========================================================
  3.                                FastWaitBlit 2.7
  4.            ========================================================
  5.                        Copyright © 1995,1996 Dave Jones
  6.                               All rights reserved
  7.            --------------------------------------------------------
  8.                     GiftWare - Please send me **anything!**
  9.            --------------------------------------------------------
  10.  
  11. *************
  12. Distribution:
  13. *************
  14. It is forbidden to include this on a magazine coverdisk without first
  15. writing to me to make sure you include the latest version, and also,
  16. I want a copy of the magazine featuring FastWaitBlit.
  17. Amiga User International magazine may not distribute this without
  18. writing to me first, to explain why I had no free copy of the magazine
  19. featuring two programs I submitted to them.
  20. No other limitations are implied on FWB's distribution.
  21.  
  22.  
  23. ************
  24. Requirements
  25. ************
  26. Any Amiga, with standard blitter, (Untested on custom gfx cards - Please
  27. give me feedback on this issue)
  28. Some fastram is also needed, as running my waitblit code from Chipram
  29. will result in a slower performance than the ROM code, which runs at
  30. lower wait states.
  31.  
  32.  
  33. ***********
  34. BackGround:
  35. ***********
  36.  
  37. There exists a routine called WaitBlit() in all Amiga KickStarts, which
  38. simply waits until the blitter has finished it's current work (Called a
  39. blit), so we know when to load it with more data.
  40. Whilst the blitter is busy, the CPU idles, swapping to other tasks e.t.c.
  41. The Amiga hardware also contains a bit called BLITHOG which means the
  42. blitter DMA gets more cycles than the CPU, which in turn, means that
  43. blit's get done quicker, at the expense of less CPU time.
  44.  
  45. This very small program will reprogram the WaitBlit() function to set
  46. BlitHog whilst waiting for a blit to complete, and then clears BlitHog
  47. when it has completed, returning full bandwidth to the CPU.
  48.  
  49. The drawback of this, is that multitasking is slowed slightly (In theory)
  50. but only while blits are taking place. This drawback does not have any
  51. visible effect on the user, and actually (IMHO) makes the system MORE
  52. productive, as the program you are currently using will wait less.
  53.  
  54. FastWaitblit needs Kickstart 2.0 or above, if any 1.3 freaks would like
  55. me to add compatability, please email (or snailmail) me, as it's not
  56. much work, but results in an ever-so slightly bigger executable.
  57.  
  58. Even without the BLITHOG stuff, the actual wait routine is also faster
  59. than CBM's, and should be compatable on all Amigas.. (I hope)
  60.  
  61. Things that should be notacibly faster with FastWaitBlit installed are
  62. menu browsing, WB updating, text scrolling and benchmark programs that
  63. tests the gfx capabilities (like AIBB).
  64. To use this program, run it from CLI, or just add it to your startup-
  65. sequence or user-startup.
  66.  
  67.  
  68. ******
  69. Notes:
  70. ******
  71. There is a program on Aminet, called FastBlit. Which claims to speed up
  72. blitter operations, much like my program, however it works in a different
  73. way, in that it does not patch any functions, but just sets the BlitHog
  74. bit and exits, This has two drawbacks -
  75. 1. Another program (Such as mine) will clear the bit again.
  76. 2. Even if the blitter isn't busy, it gets more cycles than the CPU,
  77.    which means that whilst not performing graphics functions, your
  78.    Amiga is actually going slower. (Especially on extended CPU's)
  79.  
  80. Another program to watch for is the patch `FasterBlit' by Arthur Hagen.
  81. It has several patches, and by default, turns on BlitHog.
  82. I suggest turning off blithog, by specifying the SLOW parameter to Fasterblit.
  83. You will score less gfx benchmarks, but the CPU will get more priority, and
  84. will multitask faster.
  85. Alternatively, use the NODMA version of FastWaitblit in conjunction with
  86. FasterBlit.
  87.  
  88.  
  89. ********
  90. History:
  91. ********
  92.  
  93. v1.0: Release date 2-11-95
  94.  First version, just an optimised version of the 3.0 WaitBlit()
  95.  
  96. v2.0: Release date 2-5-96
  97.  Added some lines to increase blitter speed whilst waiting for the
  98.  current blit to finish.
  99.  
  100. v2.1: Release date 3-5-96
  101.  Tests if the blitter is busy first, if not, doesn't bother setting
  102.  and clearing BlitHog.
  103.  
  104. v2.2: Release date 4-5-96
  105.  Now, the patch code is 32bit aligned for increased performance
  106.  on 68020 and greater CPU's.
  107.  
  108. v2.3: Release date 19-5-96
  109.  Now, the patch is allocated at the top of memory (Memf_reverse)
  110.  Also now hardware registers in the new waitblit are addressed indirectly,
  111.  which means a tiny increase in speed at the cost of 4 bytes stack space ;^)
  112.  
  113. v2.4: Release date 06-06-96 *(666!)
  114.  Removed one instruction from the patch, so it should run a few milliseconds
  115.  faster ;^)
  116.  
  117. v2.5: Release date 22-06-96
  118.  Added a version to the archive which doesn't feature Dynamic DMA setting.
  119.  This means, faster gfx performance, at the cost of lower CPU performance.
  120.  
  121. v2.6: Release date 09-07-96
  122.  Replaced the instruction I removed in v2.4, as it was causing pixel-trash
  123.  on some programs.
  124.  
  125. v2.7: Release date 21-09-96
  126.  Now using faster methods of bit-testing, also aligned busy-loop onto 32bit
  127.  boundary, giving higher performance.
  128.  
  129. ***********
  130. Programmer:
  131. ***********
  132.  
  133.  Dave Jones
  134.  40,Heol Edward Lewis
  135.  Gelligaer
  136.  Hengoed
  137.  Mid Glam
  138.  Cf82 8ej
  139.  South Wales.
  140.  
  141.  Email: DJones@CardiffCyberCafe.Co.Uk
  142.  
  143. I'm a 22 year old hobby programmer, interested in anything Amiga, currently
  144. working as a Data Entry Clerk (Which sucks) Job offers welcome ;^)
  145.  
  146.  
  147. *********
  148. Messages:
  149. *********
  150.  
  151. Martin Berndt
  152. ~~~~~~~~~~~~~
  153. I understand you too have written a fastwaitblit program. I am unable to find
  154. this anywhere, and as you decided not to reply to my letter. I decide not to
  155. care, and release my version, hoping yours is not faster ;^)
  156. If you feel like, why not write to me one day?
  157.  
  158. *Art
  159. ~~~~
  160. You also decided not to reply to me. Which is a shame, as I'd like to see
  161. some of my ideas used newer versions of your *many* patches.
  162.